package com.bbzn.device.client.service;

import com.bbzn.device.client.dto.api.ct.request.RequestBatchCreateDevice;
import com.bbzn.device.client.dto.api.ct.request.RequestCreateDevice;
import com.ctg.ag.sdk.biz.aep_device_management.CreateDeviceResponse;
import com.ctg.ag.sdk.biz.aep_device_management.DeleteDeviceResponse;
import com.ctg.ag.sdk.biz.aep_nb_device_management.BatchCreateNBDeviceResponse;

/**
 * 设备管理
 * @Author wulongbo
 * @Date 2021/9/9 15:45
 * @Version 1.0
 */
public interface DeviceManagementService {

    /**
     * 增加设备
     *
     * @param masterKey
     * @param requestCreateDevice
     * @return
     * @throws Exception
     */
    CreateDeviceResponse createDevice(String masterKey, RequestCreateDevice requestCreateDevice) throws Exception;

    /**
     * 删除NB设备
     *
     * @param masterKey MasterKey在该设备所属产品的概况中可以查看
     * @param productId 产品id
     * @param deviceIds 可以删除多个设备（最多支持200个设备）
     * @return
     * @throws Exception
     */
    DeleteDeviceResponse deleteDevice(String masterKey, Integer productId, String deviceIds) throws Exception;


    /**
     * 批量增加NB设备
     * @param requestBatchCreateDevice
     * @return
     * @throws Exception
     */
    BatchCreateNBDeviceResponse batchCreateNBDevice(RequestBatchCreateDevice requestBatchCreateDevice) throws Exception;


}
